package com.yy.common.utils.file;

import com.yy.common.exception.file.InvalidExtensionException;
import com.yy.common.exception.file.UnsupportedFileExtensionException;
import com.yy.common.utils.StringUtils;

import java.util.List;

/**
 * 自动推断文件类型，支持的文件是ContentTypeUtils里面的
 * 不支持的话抛一个异常
 */
public class AutoInferenceContentTypeUtils {

    // 不管什么文件路径，最后带个.xxx就行了
    public static String inference(String filePathWithExtend) throws UnsupportedFileExtensionException {
        List<String> split = StringUtils.str2List(filePathWithExtend, "\\.", true, true);
        if(ContentTypeUtils.getContentType("."+split.get(split.size()-1))==null){
            throw new UnsupportedFileExtensionException("不受支持的文件类型！");
        }else{
            return ContentTypeUtils.getContentType("."+split.get(split.size()-1));
        }
    }
}
